package wdk

import (
	"sync"
)

// CashierShiftFundRequest 结构体
type CashierShiftFundRequest struct {
	// 门店编号 示例 DRF4012（优先使用）
	ShopCode string `json:"shop_code,omitempty" xml:"shop_code,omitempty"`
	// 业务日期 yyyy-MM-dd 格式（优先使用）
	BizDate string `json:"biz_date,omitempty" xml:"biz_date,omitempty"`
	// 开始时间 yyyy-MM-dd HH:mm:ss(可选，bizDate为空时使用startTime)
	StartTime string `json:"start_time,omitempty" xml:"start_time,omitempty"`
	// 结束时间 yyyy-MM-dd HH:mm:ss(可选，bizDate为空时使用endTime)
	EndTime string `json:"end_time,omitempty" xml:"end_time,omitempty"`
	// 门店Id（可选，shopCode为空时使用shopId）
	ShopId int64 `json:"shop_id,omitempty" xml:"shop_id,omitempty"`
}

var poolCashierShiftFundRequest = sync.Pool{
	New: func() any {
		return new(CashierShiftFundRequest)
	},
}

// GetCashierShiftFundRequest() 从对象池中获取CashierShiftFundRequest
func GetCashierShiftFundRequest() *CashierShiftFundRequest {
	return poolCashierShiftFundRequest.Get().(*CashierShiftFundRequest)
}

// ReleaseCashierShiftFundRequest 释放CashierShiftFundRequest
func ReleaseCashierShiftFundRequest(v *CashierShiftFundRequest) {
	v.ShopCode = ""
	v.BizDate = ""
	v.StartTime = ""
	v.EndTime = ""
	v.ShopId = 0
	poolCashierShiftFundRequest.Put(v)
}
